import { Column, Entity, PrimaryGeneratedColumn } from 'typeorm';
import { Exclude } from 'class-transformer';

@Entity('sys_user') // 表名为 sys_user
export class UserEntity {
    @PrimaryGeneratedColumn() // 主键，自增
    id: number;

    @Column({ length: 255 }) // 用户名，最大长度255
    username: string;

    @Exclude({ toClassOnly: true }) // 密码不返回
    @Column({ length: 255 }) // 密码，最大长度255
    password: string;

    @Column({ length: 10, nullable: true }) // 性别，最大长度10，可为空
    sex: string;

    @Column({ length: 255 }) // 邮箱，最大长度255
    email: string;

    @Column({ length: 900, default: '' }) // 备注，最大长度900，默认值为空
    remark: string;

    @Column({ length: 1, default: '0' }) // 删除标志，默认值为0
    del_flag: string;

    @Column({ length: 32, nullable: true }) // 创建人，最大长度32，可为空
    created_by: string;

    @Column({ type: 'timestamp', default: () => 'CURRENT_TIMESTAMP' }) // 创建时间，默认当前时间
    created_time: Date;

    @Column({ length: 32, nullable: true }) // 更新人，最大长度32，可为空
    updated_by: string;

    @Column({ type: 'timestamp', default: () => 'CURRENT_TIMESTAMP' }) // 更新时间，默认当前时间
    updated_time: Date;
}
